#lang scheme/base


(require scheme/contract)

(provide/contract
 (optional/c (-> (or/c contract? predicate/c) contract?)))


(define optional/c (lambda (contract) (or/c contract #f)))